package com.techsoul.module.accounting.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.techsoul.common.core.annotation.ExcelField;
import com.techsoul.common.core.pojo.entity.DataEntity;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 销售价格配置基础，用于配置价格，产生最后结算。对象 acc_material_sales_price
 * 
 * @author liuen
 * @date 2021-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("acc_material_sales_price")
public class MaterialSalesPrice extends DataEntity {

    /**
     * 是按sku（的单个）或spu （组合）来结算
     */
    private String settleUnitType;

    /**
     * 销售客户
     */
    private String customerNo;

    /**
     * 结算按spu  id
     */
    private String spuId;
    /**
     * 结算按sku 的 id
     */
    private String skuId;
    /**
     * 结算按组合货号编码id
     */
    private String goodGroupId;

    /**
     * 结算价格
     */
    private BigDecimal settlePrice;

    /**
     * 应用时间开始
     */
    private Date applyDate;

    /**
     * 有效期至
     */
    private Date effectUntilDate;

    /**
     * 结算单位名称
     */
    private String unitName;

    /**
     * 分类ID
     */
    private String categoryId;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 品牌ID
     */
    private String brandId;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 产品规格
     */
    private String materialGuige;

    /**
     * 结算维度1
     */
    private String dimensionOne;

    /**
     * 结算维度2
     */
    private String dimensionTwo;

    /**
     * 结算维度3
     */
    private String dimensionThree;

    /**
     * 结算维度4
     */
    private String dimensionFour;

    /**
     * 结算维度5
     */
    private String dimensionFive;

    /**
     * 结算维度6
     */
    private String dimensionSix;

    /**
     * 结算维度7
     */
    private String dimensionSeven;

    /**
     * 结算维度8
     */
    private String dimension;

    /**
     * 结算基于，QTY(SKU) PACK (SPU), VOL (体积）WEIGHT(重量)
     */
    private String settleBy;

    /**
     * 订单数量（批发的话数量不同价格也不同）
     */
    private Long wholeSaleQuantity;

    /**
     * $是直接价格 %表示是采购价的百分比
     */
    private String priceDefType;

    /**
     * 采购价格配置表的主键
     */
    private String buyPriceDefId;

    /**
     * price_def_type不为$，这个字段不可为空
     */
    private String priceSettlePercentage;

    /**
     * 物料分类是组合还是单品 gp组合spu,sku
     */
    private String groupOrSpu;

    private Double custMileSalesPrice;

    private String storeId;

    private String site;
    private String materialMapId;
}
